package com.dhu.demo.controller;

import com.dhu.demo.entity.Classtable;
import com.dhu.demo.entity.Level;
import com.dhu.demo.service.ClassTableService;
import com.dhu.demo.service.ScService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RequestMapping("/classTable")
@RestController
@CrossOrigin("*")
public class ClassTableController {
    @Autowired
    private ClassTableService classTableService;

    @RequestMapping("/findAllClassTable")
    public List<Classtable> getAclass(){
        return classTableService.findAll();
    }

    @RequestMapping("/findAllClassTableTeacher")
    public List<String> findAllClassTableTeacher(){
        return classTableService.findAllClassTableTeacher();
    }

    @RequestMapping("/insertClassTable")
    private int insertClasstable(@RequestBody Classtable classtable) {
        String classname=classtable.getClassname();
        String classteacher=classtable.getClassteacher();
        int alevel=classtable.getAlevel();
        int blevel=classtable.getBlevel();
        int clevel=classtable.getClevel();
        int dlevel=classtable.getDlevel();
        Classtable record = new Classtable(classname,classteacher,alevel,blevel,clevel,dlevel);
        return classTableService.insert(record);
    }

    @RequestMapping("/updateClassTable")
    private int updateClasstable(@RequestBody Classtable classtable){
        int classid=classtable.getClassid();
        String classname=classtable.getClassname();
        String classteacher=classtable.getClassteacher();
        int alevel=classtable.getAlevel();
        int blevel=classtable.getBlevel();
        int clevel=classtable.getClevel();
        int dlevel=classtable.getDlevel();
        Classtable record=new Classtable(classid,classname,classteacher,alevel,blevel,clevel,dlevel);
        return classTableService.updateByPrimaryKey(record);
    }

    @RequestMapping("/deleteClassTable")
    private int deleteInfo(@RequestBody Classtable classtable){
        ScService scService=new ScService();
        String classname=classtable.getClassname();
        scService.deleteAllInfoByClassName(classname);
        return classTableService.deleteByPrimaryKey(classname);
    }
}
